/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gestionform;

import java.io.IOException;
import model.Administrateur;
import model.Candidat;
import model.Utilisateur;
import org.restlet.ext.xml.DomRepresentation;
import org.restlet.representation.Representation;
import org.restlet.resource.ClientResource;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

/**
 *
 * @author Paul
 */
public class GestionAdministrateur extends GestionInfos {

    //private final String BASE_URL = "http://212.198.164.253:1234/XmlProjet/administrateurs";
    private final String BASE_URL = "http://localhost:8080/XmlProjet/administrateurs";
    

    public GestionAdministrateur() {
    }

    public Administrateur connexionAdministrateur(Utilisateur u) throws IOException {
        /* Récupération des champs du formulaire */
        Administrateur a = getAdministrateur(u.getIdUtilisateur());
        if (a == null) {
            setErreur("", "Échec de la connexion : vous n'êtes pas inscris en tant que administrateur");
        }
        return a;
    }

    private Administrateur getAdministrateur(int idUtilisateur) throws IOException {
        ClientResource resource = new ClientResource(BASE_URL);
        Representation reponse = resource.get();
        DomRepresentation newDom = new DomRepresentation(reponse);
        Document newDoc = newDom.getDocument();
        Administrateur a = null;
        //On crée une List contenant tous les noeuds "utilisateurs" de l'Element racine
        NodeList listeAdministrateurs = newDoc.getChildNodes();
        //On crée un Iterator sur notre liste
        for (int i = 0; i < listeAdministrateurs.getLength(); i++) {
            NodeList administrateur = newDoc.getElementsByTagName("administrateur");
            for (int j = 0; j < administrateur.getLength(); j++) {
                Element elt = (Element) administrateur.item(j);
                String id = elt.getAttribute("idUtilisateur");
                String idAdministrateur = elt.getAttribute("idAdministrateur");
                if (Integer.parseInt(id) == idUtilisateur) {
                    a = new Administrateur();
                    a.setIdUtilisateur(Integer.parseInt(id));
                    a.setIdAdministrateur(Integer.parseInt(idAdministrateur));
                }
            }
        }
        return a;
    }
}
